<?php

include_once('./config/init.php');

//接收action 判断是否是执行退出动作
$action = isset($_GET['action']) ? trim($_GET['action']) : '';

//执行退出动作
if($action == "logout"){
    //销毁session
    session_destroy();
    ShowMsg('退出成功', 'login.php');
    exit;
}

//获取session 判断是否已经登录过了,如果已经登录过就不要在重复登录了
$auth = isset($_SESSION['auth']) ? $_SESSION['auth'] : [];

//如果不为空 就说明登录了
if(!empty($auth)){
    //要获取出id 和 mobile手机号
    $id = isset($auth['id']) ? $auth['id'] : 0;
    $mobile = isset($auth['mobile']) ? $auth['mobile'] : '';

    //根据条件验证 管理员是否存在
    $sql = "SELECT * FROM {$pre_}admin WHERE id = $id AND mobile = '$mobile'";

    //查询一条
    $login = find($sql);

    //如果没找出信息
    if($login){
        ShowMsg('您已登录，无须重复登录', 'index.php');
        exit;
    }else{
        //注销整个会话
        session_destroy();

        //非法登录，并跳转到登录界面
        ShowMsg('非法登录', 'login.php');
        exit;
    }
}

//如果有表单提交就接收数据
if ($_POST) {

    //接受数据
    $mobile = isset($_POST['mobile']) ? trim($_POST['mobile']) : '';
    $password = isset($_POST['password']) ? trim($_POST['password']) : '';
    $vercode = isset($_POST['vercode']) ? trim($_POST['vercode']) : '';

    //判断验证码是否正确
    if(strtolower($_SESSION['vercode']) != strtolower($vercode)){
        ShowMsg('验证码输入有误', 'login.php');
        exit;
    }

    //判断变量是否为空
    if (empty($mobile)) {
        ShowMsg('手机号码不能为空');
        exit;
    }

    if (empty($password)) {
        ShowMsg('密码不能为空');
        exit;
    }

    //写sql语句
    $sql = "SELECT * FROM {$pre_}admin WHERE mobile = '$mobile'";

    $admin = find($sql);

    //如果没有找出管理员
    if (!$admin) {
        ShowMsg('管理员不存在');
        exit;
    }

    //判断密码是否正确

    //密码盐

    $salt = $admin['salt'];

    //让输入密码 + 密码盐 一起加密
    $repass = md5($password . $salt);

    if ($repass != $admin['password']) {
        ShowMsg('密码错误');
        exit;
    }

    //更新一下最后登录时间
    $data = [
        'lasttime' => time()
    ];

    //更新成功返回影响行数
    $affectid = update("admin", $data, "id =" . $admin['id']);

    if ($affectid) {

        //将用户信息 记录到 session 中
        $_SESSION['auth'] = [
            'id' => $admin['id'],//记录管理员id
            'mobile' => $admin['mobile'],//记录管理员手机号
            'nickname' => $admin['nickname'],//记录管理员昵称
        ];
        ShowMsg('登录成功', 'index.php');
        exit;
    } else {
        ShowMsg('登录失败');
        exit;
    }
}

?>

<!DOCTYPE html>
<html lang="en">

<head>
    <?php include_once('meta.php'); ?>
</head>


<body>

    <div class="navbar">
        <div class="navbar-inner">
            <a class="brand"><span class="second">Admin</span></a>
        </div>
    </div>

    <div class="row-fluid">
        <div class="dialog">
            <div class="block">
                <p class="block-heading">登录</p>
                <div class="block-body">
                    <form method="post">
                        <label>手机号</label>
                        <input type="text" name="mobile" required placeholder="请输入手机号" class="span12" />

                        <label>密码</label>
                        <input type="password" name="password" class="span12" required placeholder="请输入密码" />

                        <label>验证码</label>
                        <input type="text" name="vercode" class="span12" required placeholder="请输入验证码" />

                         <!-- 可以把php文件作为图片src地址 -->
                        <img src="vercode.php" onclick="this.src = 'vercode.php?random='+Math.random()" />

                        <button class="btn btn-primary pull-right">
                            登录
                        </button>
                        <div class="clearfix"></div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>

</html>